每家金流的流程都不太一樣,但基本上有牽扯到金錢的東西,肯定會有一堆驗證機制,
我們先看一下永豐金的流程
在永豐金api流程會先取得Nonce,
並且透過Nonce組出api請求所需要的params,永豐金所有的api都是走這套流程,
因此我們先將整個基礎流程跑過一遍
首先先封裝一個curl方便所有api使用 (文件裡面有提供這邊直接copy避免請求格式錯誤)
//WebAPI 串接方法
function WebAPI($url, $post_data) {
$ch=curl_init($url);
$options=Array(
CURLOPT_HEADER => 0,
CURLOPT_NOBODY => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array("Content-type: application/json; charset=utf-8"),
CURLOPT_POST=> 1,
CURLOPT_POSTFIELDS=> $post_data ,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSLVERSION => 6 //(1:TLSv1 / 6:TLSv1_2) 使用 TLS 1.2 Protocol
);
curl_setopt_array($ch, $options);
$result=curl_exec($ch);
curl_close($ch);
return $result;
}
然後是取得Nonce
//$shopno為永豐金提供的私人商店編號
//取得 Nonce 方法
function getNonce($shopno){
$url = ‘https://apisbx.sinopac.com/funBIZ/QPay.WebAPI/api/Nonce’
$post_data = json_encode(['ShopNo' => $shopno]);
$result = WebAPI($url, $post_data);
$result = json_decode($result);
return $result->Nonce;
}
成功後會得到一串加密碼,也就是我們的Nonce,
然後要組出api所需要的資料。
先看一下步驟
目前說的只在最一開始取得Nonce的部份,
接下來要使用的參數也都由永豐金提供,
主要為A1、A2、B1、B2,也因其實永豐金都有提供範例,
所以在成立所需資料的部份大部分都是直接提供文件內容,
自己做沒有任何好處,還容易因為加解密搞的灰頭土臉,也體現IT人善用工具美德
接下來會按照文件的流程,產出各api所需要的參數,並且封裝方便調用,
那麼我們明天見